import { IPSBIDimensionObject } from './ipsbidimension-object';
import { IPSDataEntity } from '../dataentity/ipsdata-entity';

/**
 *
 * @export
 * @interface IPSBIHierarchy
 */
export interface IPSBIHierarchy extends IPSBIDimensionObject {
  /**
   * 维度架构标记
   * @type {string}
   */
  hierarchyTag: string;

  /**
   * 维度架构标记2
   * @type {string}
   */
  hierarchyTag2: string;

  /**
   * 维度架构类型
   * @description 值模式 [分析维度体系类型] {DE：实体对象 }
   * @type {( string | 'DE')}
   */
  hierarchyType: string | 'DE';

  /**
   * 实体
   *
   * @type {IPSDataEntity}
   */
  getPSDataEntity(): IPSDataEntity | null;

  /**
   * 实体
   *
   * @type {IPSDataEntity}
   */
  get psDataEntity(): IPSDataEntity | null;

  /**
   * 实体（必须存在）
   *
   * @type {IPSDataEntity}
   */
  getPSDataEntityMust(): IPSDataEntity;
}
